cmake_minimum_required(VERSION 3.15)
project(stdayCpp)
set(CMAKE_CXX_STANDARD 14)

# add the MathFunctions library
add_subdirectory(MathFunctions)

#4.source directory，源文件目录
AUX_SOURCE_DIRECTORY(src DIR_SRCS)


#5.set environment variable，设置环境变量，编译用到的源文件全部都要放到这里，否则编译能够通过，但是执行的时候会出现各种问题，比如"symbol lookup error xxxxx , undefined symbol"
#其实就是设置 TEST_MATH变量 方便下面使用
SET(TEST_MATH ${DIR_SRCS})


#遍历 TEST_MATH 里面文件 每个文件都有main函数
foreach(loop_var  ${TEST_MATH} )
    set(_index 4)
    set(_str_len 0)
    STRING(LENGTH "${loop_var}" _str_len)
    math(EXPR _len "${_str_len}-4-${_index}")
    message(WARNING ${_str_len})
    message(WARNING ${_len})
    message(WARNING loop_var=${loop_var})
    STRING(SUBSTRING  ${loop_var} ${_index} ${_len}  tempString )

    message(WARNING tempString=${tempString})
    #6.add executable file，添加要编译的可执行文件
    ADD_EXECUTABLE( ${tempString}  src/${tempString}.cpp)

    #target_include_directories 指定编译目标文件的时候需要包含的路径和内容
    target_link_libraries(${tempString} PUBLIC MathFunctions)
    #指定链接内容
    target_include_directories(${tempString} PUBLIC
            "${PROJECT_BINARY_DIR}"
            "${PROJECT_SOURCE_DIR}/MathFunctions"
            )

endforeach()



#7.add link library，添加可执行文件所需要的库，比如我们用到了libm.so（命名规则：lib+name+.so），就添加该库的名称
